For our school project were are gone do an research like (Fibroblast-derived osteoglycin promotes epithelial cell repair)[https://pmc.ncbi.nlm.nih.gov/articles/PMC11937367/]. They are very specific and we are gone a look more global. I will look at the pathway analysis of the transcription.

For this i will use fgsea that is an tool that can be used for this kind of analysis.

First we are going to install it. That do we as follow:

if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("fgsea")
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("org.Mm.eg.db")

After this we read the library in:

## 
## ##############################################################################
## Pathview is an open source software package distributed under GNU General
## Public License version 3 (GPLv3). Details of GPLv3 is available at
## http://www.gnu.org/licenses/gpl-3.0.html. Particullary, users are required to
## formally cite the original Pathview paper (not just mention it) in publications
## or products. For details, do citation("pathview") within R.
## 
## The pathview downloads and uses KEGG data. Non-academic uses may require a KEGG
## license agreement (details at http://www.kegg.jp/kegg/legal.html).
## ##############################################################################
## Loading required package: S4Vectors
## Loading required package: stats4
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
##     as.data.frame, basename, cbind, colnames, dirname, do.call,
##     duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
##     lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
##     pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
##     tapply, union, unique, unsplit, which.max, which.min
## 
## Attaching package: 'S4Vectors'
## The following objects are masked from 'package:data.table':
## 
##     first, second
## The following objects are masked from 'package:base':
## 
##     I, expand.grid, unname
## Loading required package: IRanges
## 
## Attaching package: 'IRanges'
## The following object is masked from 'package:data.table':
## 
##     shift
## Loading required package: GenomicRanges
## Loading required package: GenomeInfoDb
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
## 
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
## 
## Registered S3 methods overwritten by 'treeio':
##   method              from    
##   MRCA.phylo          tidytree
##   MRCA.treedata       tidytree
##   Nnode.treedata      tidytree
##   Ntip.treedata       tidytree
##   ancestor.phylo      tidytree
##   ancestor.treedata   tidytree
##   child.phylo         tidytree
##   child.treedata      tidytree
##   full_join.phylo     tidytree
##   full_join.treedata  tidytree
##   groupClade.phylo    tidytree
##   groupClade.treedata tidytree
##   groupOTU.phylo      tidytree
##   groupOTU.treedata   tidytree
##   is.rooted.treedata  tidytree
##   nodeid.phylo        tidytree
##   nodeid.treedata     tidytree
##   nodelab.phylo       tidytree
##   nodelab.treedata    tidytree
##   offspring.phylo     tidytree
##   offspring.treedata  tidytree
##   parent.phylo        tidytree
##   parent.treedata     tidytree
##   root.treedata       tidytree
##   rootnode.phylo      tidytree
##   sibling.phylo       tidytree
## clusterProfiler v4.6.2  For help: https://yulab-smu.top/biomedical-knowledge-mining-book/
## 
## If you use clusterProfiler in published research, please cite:
## T Wu, E Hu, S Xu, M Chen, P Guo, Z Dai, T Feng, L Zhou, W Tang, L Zhan, X Fu, S Liu, X Bo, and G Yu. clusterProfiler 4.0: A universal enrichment tool for interpreting omics data. The Innovation. 2021, 2(3):100141
## 
## Attaching package: 'clusterProfiler'
## The following object is masked from 'package:IRanges':
## 
##     slice
## The following object is masked from 'package:S4Vectors':
## 
##     rename
## The following object is masked from 'package:stats':
## 
##     filter
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:Biobase':
## 
##     combine
## The following object is masked from 'package:matrixStats':
## 
##     count
## The following objects are masked from 'package:GenomicRanges':
## 
##     intersect, setdiff, union
## The following object is masked from 'package:GenomeInfoDb':
## 
##     intersect
## The following objects are masked from 'package:IRanges':
## 
##     collapse, desc, intersect, setdiff, slice, union
## The following objects are masked from 'package:S4Vectors':
## 
##     first, intersect, rename, setdiff, setequal, union
## The following objects are masked from 'package:BiocGenerics':
## 
##     combine, intersect, setdiff, union
## The following objects are masked from 'package:data.table':
## 
##     between, first, last
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Loading required package: AnnotationDbi
## 
## Attaching package: 'AnnotationDbi'
## The following object is masked from 'package:dplyr':
## 
##     select
## The following object is masked from 'package:clusterProfiler':
## 
##     select
## 

After this i am going to use the example data to look how it all works.

oefen

data(examplePathways)
data(exampleRanks)
fgseaRes <- fgsea(pathways = examplePathways, 
                  stats    = exampleRanks,
                  minSize  = 15,
                  maxSize  = 500)
fgseaRes <- fgsea(pathways = examplePathways, 
                  stats    = exampleRanks,
                  eps      = 0.0,
                  minSize  = 15,
                  maxSize  = 500)
plotEnrichment(examplePathways[["5990980_Cell_Cycle"]],
               exampleRanks) + labs(title="Programmed Cell Death")

topPathwaysUp <- fgseaRes[ES > 0][head(order(pval), n=1), pathway]
topPathwaysDown <- fgseaRes[ES < 0][head(order(pval), n=1), pathway]
topPathways <- c(topPathwaysUp, rev(topPathwaysDown))
plotGseaTable(examplePathways[topPathways], exampleRanks, fgseaRes, 
              gseaParam=0.5)

## Over-Representation Analysis

data("gcSample") # data for examples
# Need to remove duplicates for the examples
all_genes <- unlist(gcSample)
universe <- all_genes[Biobase::isUnique(all_genes)] # all unique genes

# List with only unique genes
gcUnique <- lapply(gcSample, function(group_i) {
  group_i[group_i %in% universe]
})
# MSigDB R package)
msigdbr::msigdbr_collections() # available collections
## # A tibble: 25 × 4
##    gs_collection gs_subcollection  gs_collection_name               num_genesets
##    <chr>         <chr>             <chr>                                   <int>
##  1 C1            ""                Positional                                302
##  2 C2            "CGP"             Chemical and Genetic Perturbati…         3494
##  3 C2            "CP"              Canonical Pathways                         19
##  4 C2            "CP:BIOCARTA"     BioCarta Pathways                         292
##  5 C2            "CP:KEGG_LEGACY"  KEGG Legacy Pathways                      186
##  6 C2            "CP:KEGG_MEDICUS" KEGG Medicus Pathways                     658
##  7 C2            "CP:PID"          PID Pathways                              196
##  8 C2            "CP:REACTOME"     Reactome Pathways                        1736
##  9 C2            "CP:WIKIPATHWAYS" WikiPathways                              830
## 10 C3            "MIR:MIRDB"       miRDB                                    2377
## # ℹ 15 more rows
# Subset to Human GO-BP sets
BP_db <- msigdbr(species = "Homo sapiens", 
                 category = "C5", subcategory = "GO:BP")
head(BP_db)
## # A tibble: 6 × 23
##   gene_symbol ncbi_gene ensembl_gene db_gene_symbol db_ncbi_gene db_ensembl_gene
##   <chr>       <chr>     <chr>        <chr>          <chr>        <chr>          
## 1 AASDHPPT    60496     ENSG0000014… AASDHPPT       60496        ENSG00000149313
## 2 ALDH1L1     10840     ENSG0000014… ALDH1L1        10840        ENSG00000144908
## 3 ALDH1L2     160428    ENSG0000013… ALDH1L2        160428       ENSG00000136010
## 4 MTHFD1      4522      ENSG0000010… MTHFD1         4522         ENSG00000100714
## 5 MTHFD1L     25902     ENSG0000012… MTHFD1L        25902        ENSG00000120254
## 6 BOLA2       552900    ENSG0000018… BOLA2          552900       ENSG00000183336
## # ℹ 17 more variables: source_gene <chr>, gs_id <chr>, gs_name <chr>,
## #   gs_collection <chr>, gs_subcollection <chr>, gs_collection_name <chr>,
## #   gs_description <chr>, gs_source_species <chr>, gs_pmid <chr>,
## #   gs_geoid <chr>, gs_exact_source <chr>, gs_url <chr>, db_version <chr>,
## #   db_target_species <chr>, entrez_gene <chr>, gs_cat <chr>, gs_subcat <chr>
# Convert to a list of gene sets
BP_conv <- unique(BP_db[, c("entrez_gene", "gs_exact_source")])
BP_list <- split(x = BP_conv$entrez_gene, f = BP_conv$gs_exact_source)
# First ~6 IDs of first 3 terms
lapply(head(BP_list, 3), head)
## $`GO:0000002`
## [1] "10000"  "131474" "1763"   "9093"   "2021"   "3980"  
## 
## $`GO:0000012`
## [1] "200558" "54840"  "2074"   "1161"   "3981"   "142"   
## 
## $`GO:0000018`
## [1] "25"     "60"     "86"     "10097"  "126549" "200558"
## Cluster GO-BP ORA with fgsea package
# For each cluster i, perform ORA
fgsea_ora <- lapply(seq_along(gcUnique), function(i) {
  fora(pathways = BP_list, 
       genes = gcUnique[[i]], # genes in cluster i
       universe = universe, # all genes
       minSize = 15, 
       maxSize = 500) %>% 
    mutate(cluster = names(gcUnique)[i]) # add cluster column
}) %>% 
  data.table::rbindlist() %>% # combine tables
  filter(padj < 0.05) %>% 
  arrange(cluster, padj) %>% 
  # Add additional columns from BP_db
  left_join(distinct(BP_db, gs_subcat, gs_exact_source, 
                     gs_name, gs_description),
            by = c("pathway" = "gs_exact_source")) %>% 
  # Reformat descriptions
  mutate(gs_name = sub("^GOBP_", "", gs_name),
         gs_name = gsub("_", " ", gs_name))

# First 6 rows
head(fgsea_ora)
##       pathway         pval        padj overlap size
## 1: GO:0007267 2.256698e-05 0.037322954      40  233
## 2: GO:0045666 4.327299e-05 0.037322954       8   17
## 3: GO:0006754 8.172229e-06 0.009614126      12   24
## 4: GO:0015986 1.114681e-05 0.009614126      11   21
## 5: GO:0022900 7.265561e-05 0.025305396      14   37
## 6: GO:0042773 8.683660e-05 0.025305396      12   29
##                          overlapGenes cluster gs_subcat
## 1:    6833,477,652,775,1136,22849,...      X3     GO:BP
## 2:    652,655,1746,2247,8200,1482,...      X3     GO:BP
## 3: 4705,4695,4698,4700,4704,54539,...      X7     GO:BP
## 4: 4705,4695,4698,4700,4704,54539,...      X7     GO:BP
## 5:  1329,1537,4705,4695,4698,4700,...      X7     GO:BP
## 6:  1329,1537,4705,4695,4698,4700,...      X7     GO:BP
##                                          gs_name
## 1:                           CELL CELL SIGNALING
## 2: POSITIVE REGULATION OF NEURON DIFFERENTIATION
## 3:                      ATP BIOSYNTHETIC PROCESS
## 4:      PROTON MOTIVE FORCE DRIVEN ATP SYNTHESIS
## 5:                      ELECTRON TRANSPORT CHAIN
## 6:      ATP SYNTHESIS COUPLED ELECTRON TRANSPORT
##                                                                                                                                                                                                                                                                                                                                                                                                       gs_description
## 1: Any process that mediates the transfer of information from one cell to another. This process includes signal transduction in the receiving cell and, where applicable, release of a ligand and any processes that actively facilitate its transport and presentation to the receiving cell. Examples include signaling via soluble ligands, via cell adhesion molecules and via gap junctions. [GOC:dos, GOC:mah]
## 2:                                                                                                                                                                                                                                                                                                Any process that activates or increases the frequency, rate or extent of neuron differentiation. [GOC:go_curators]
## 3:                                                                                                                                                                                                                       The chemical reactions and pathways resulting in the formation of ATP, adenosine 5'-triphosphate, a universally important coenzyme and enzyme regulator. [GOC:go_curators, ISBN:0198506732]
## 4:                                                                                                                                                                                                                                                             The transport of protons across a membrane to generate an electrochemical gradient (proton-motive force) that powers ATP synthesis. [ISBN:0716731363]
## 5:                                                                                                                                                                                                                         A process in which a series of electron carriers operate together to transfer electrons from donors to any of several different terminal electron acceptors. [GOC:mtg_electron_transport]
## 6:                                                                                                                                                                                                                                                    The transfer of electrons through a series of electron donors and acceptors, generating energy that is ultimately used for synthesis of ATP. [ISBN:0716731363]
if(!require(devtools)) install.packages("devtools")
devtools::install_github("sinhrks/ggfortify")
data <- read.csv("../data/GSE271272_rawcounts.csv", row.names = 1)
head(data)
##               M1_ctrl_Epcam M2_ctrl_Epcam M3_ctrl_Epcam M4_ctrl_Epcam
## 0610009B22Rik           266            41            79            46
## 0610010K14Rik            21             3             3             1
## 0610012G03Rik           276            41            93            74
## 0610030E20Rik           416            88           132            84
## 0610038B21Rik            16             1             4             9
## 0610040J01Rik           765           144           236           120
##               M1_EVs_Epcam M2_EVs_Epcam M3_EVs_Epcam M4_EVs_Epcam M1_SFs_Epcam
## 0610009B22Rik          100           59          171          277          198
## 0610010K14Rik            7            2           17           24           19
## 0610012G03Rik           96          113          273          304          254
## 0610030E20Rik          163          106          372          494          443
## 0610038B21Rik            3            1            6            6           12
## 0610040J01Rik          221          170          584          661          692
##               M2_SFs_Epcam M3_SFs_Epcam M4_SFs_Epcam M1_OGN_Epcam M2_OGN_Epcam
## 0610009B22Rik           14           84           73           66           78
## 0610010K14Rik            2            3            5            6            5
## 0610012G03Rik           30           89          118          118           94
## 0610030E20Rik           36          188          178          161          129
## 0610038B21Rik            1            4            7            2            4
## 0610040J01Rik           75          222          186          250          230
##               M3_OGN_Epcam M4_OGN_Epcam M1_ctrl_CCL M2_ctrl_CCL M3_ctrl_CCL
## 0610009B22Rik          231           40          99          55         136
## 0610010K14Rik           14            2          11           8          16
## 0610012G03Rik          246           59          99          97         178
## 0610030E20Rik          377           84         372         224         364
## 0610038B21Rik            8            1          14           9           9
## 0610040J01Rik          676          192          33          19          34
##               M4_ctrl_CCL M1_EVs_CCL M2_EVs_CCL M3_EVs_CCL M4_EVs_CCL
## 0610009B22Rik         111         39         78         94         84
## 0610010K14Rik          12          5          2          5          2
## 0610012G03Rik         135         64         89        125        129
## 0610030E20Rik         401         65         91        287         99
## 0610038B21Rik          16          2          1          3          8
## 0610040J01Rik          24          8         11         18         18
##               M1_SFs_CCL M2_SFs_CCL M3_SFs_CCL M4_SFs_CCL M1_OGN_CCL M2_OGN_CCL
## 0610009B22Rik         72         57         67         78         48        135
## 0610010K14Rik          6          3          4          7          6         22
## 0610012G03Rik        114         87        107        111         75        165
## 0610030E20Rik        149        146        213        233        134        371
## 0610038B21Rik         13          3         11          7          8         15
## 0610040J01Rik         23         10         17         12         37         36
##               M3_OGN_CCL M4_OGN_CCL
## 0610009B22Rik        163         65
## 0610010K14Rik         16          5
## 0610012G03Rik        268        114
## 0610030E20Rik        583        301
## 0610038B21Rik         21          4
## 0610040J01Rik        129         24
t_data = t(data)
log_data <- log2(t_data +1)
data_scaled <- scale(log_data)
pca_result <- prcomp(data_scaled, scale. = T)
# Splits sample naam in onderdelen
metadata <- data.frame(
  sample = rownames(t_data),
  groep = sapply(strsplit(rownames(t_data), "_"), `[`, 2),
  celtype = sapply(strsplit(rownames(t_data), "_"), `[`, 3)
)


rownames(metadata) <- metadata$sample
metadata$groep_celtype <- paste(metadata$groep, metadata$celtype, sep = "_")
autoplot(pca_result,
         data = metadata,
         colour= 'groep',
         x=1,
         y=2
         )+
  ggtitle("celtype")+
  theme_minimal()

# Pathway analuse Nu ga ik bezig met de path way analyse met de deseq2 die ik van Mirte heb gekregen

rna_seq_data <- read.csv(
  "../data/GSE271272_rawcounts.csv")

head(rna_seq_data)
##          Sample M1_ctrl_Epcam M2_ctrl_Epcam M3_ctrl_Epcam M4_ctrl_Epcam
## 1 0610009B22Rik           266            41            79            46
## 2 0610010K14Rik            21             3             3             1
## 3 0610012G03Rik           276            41            93            74
## 4 0610030E20Rik           416            88           132            84
## 5 0610038B21Rik            16             1             4             9
## 6 0610040J01Rik           765           144           236           120
##   M1_EVs_Epcam M2_EVs_Epcam M3_EVs_Epcam M4_EVs_Epcam M1_SFs_Epcam M2_SFs_Epcam
## 1          100           59          171          277          198           14
## 2            7            2           17           24           19            2
## 3           96          113          273          304          254           30
## 4          163          106          372          494          443           36
## 5            3            1            6            6           12            1
## 6          221          170          584          661          692           75
##   M3_SFs_Epcam M4_SFs_Epcam M1_OGN_Epcam M2_OGN_Epcam M3_OGN_Epcam M4_OGN_Epcam
## 1           84           73           66           78          231           40
## 2            3            5            6            5           14            2
## 3           89          118          118           94          246           59
## 4          188          178          161          129          377           84
## 5            4            7            2            4            8            1
## 6          222          186          250          230          676          192
##   M1_ctrl_CCL M2_ctrl_CCL M3_ctrl_CCL M4_ctrl_CCL M1_EVs_CCL M2_EVs_CCL
## 1          99          55         136         111         39         78
## 2          11           8          16          12          5          2
## 3          99          97         178         135         64         89
## 4         372         224         364         401         65         91
## 5          14           9           9          16          2          1
## 6          33          19          34          24          8         11
##   M3_EVs_CCL M4_EVs_CCL M1_SFs_CCL M2_SFs_CCL M3_SFs_CCL M4_SFs_CCL M1_OGN_CCL
## 1         94         84         72         57         67         78         48
## 2          5          2          6          3          4          7          6
## 3        125        129        114         87        107        111         75
## 4        287         99        149        146        213        233        134
## 5          3          8         13          3         11          7          8
## 6         18         18         23         10         17         12         37
##   M2_OGN_CCL M3_OGN_CCL M4_OGN_CCL
## 1        135        163         65
## 2         22         16          5
## 3        165        268        114
## 4        371        583        301
## 5         15         21          4
## 6         36        129         24
cts <- data.frame(rna_seq_data[,-1])
colnames(cts) <- colnames(rna_seq_data)[-1]
row.names(cts) <- rna_seq_data$Sample
cts <- as.matrix(cts)
sample_names <- c("M1_ctrl_Epcam", "M2_ctrl_Epcam", "M3_ctrl_Epcam", "M4_ctrl_Epcam",
            "M1_EVs_Epcam", "M2_EVs_Epcam", "M3_EVs_Epcam", "M4_EVs_Epcam",
            "M1_SFs_Epcam", "M2_SFs_Epcam", "M3_SFs_Epcam", "M4_SFs_Epcam",
            "M1_OGN_Epcam", "M2_OGN_Epcam", "M3_OGN_Epcam", "M4_OGN_Epcam",
            "M1_ctrl_CCL", "M2_ctrl_CCL", "M3_ctrl_CCL", "M4_ctrl_CCL",
            "M1_EVs_CCL", "M2_EVs_CCL", "M3_EVs_CCL", "M4_EVs_CCL",
            "M1_SFs_CCL", "M2_SFs_CCL", "M3_SFs_CCL", "M4_SFs_CCL",
            "M1_OGN_CCL", "M2_OGN_CCL", "M3_OGN_CCL", "M4_OGN_CCL")

group <- rep(c("control", "extracellular_vesicles", "soluble_factors", "osteoglycin"), each = 4, times = 2)
type <- rep(c("epcam", "ccl"), each = 16)

metadata <- data.frame(group = factor(group), type = type)
rownames(metadata) <- sample_names

head(metadata)
##                                group  type
## M1_ctrl_Epcam                control epcam
## M2_ctrl_Epcam                control epcam
## M3_ctrl_Epcam                control epcam
## M4_ctrl_Epcam                control epcam
## M1_EVs_Epcam  extracellular_vesicles epcam
## M2_EVs_Epcam  extracellular_vesicles epcam
dds <- DESeqDataSetFromMatrix(countData = cts,
                              colData = metadata,
                              design = ~ group)
dds <- DESeq(dds)
control_vs_extracellular <- results(dds, contrast = c("group", "control", "extracellular_vesicles"))
control_vs_soluble <- results(dds, contrast = c("group", "control", "soluble_factors"))
extracellular_vs_soluble <- results(dds, contrast = c("group", "extracellular_vesicles", "soluble_factors"))

Na dat alles kan ik verder.

gene_ranks_crl_extra <- control_vs_extracellular$stat
names(gene_ranks_crl_extra) <- rownames(control_vs_extracellular)
gene_ranks_crl_extra <- sort(gene_ranks_crl_extra, decreasing = T)
gene_ranks_crl_sol <- control_vs_soluble$stat
names(gene_ranks_crl_sol) <- rownames(control_vs_soluble)
gene_ranks_crl_sol <- sort(gene_ranks_crl_sol, decreasing = T)
gene_ranks_extra_sol <- extracellular_vs_soluble$stat
names(gene_ranks_extra_sol) <- rownames(extracellular_vs_soluble)
gene_ranks_extra_sol <- sort(gene_ranks_extra_sol, decreasing = T)

Mens

df_genes <- data.frame(
  symbol = names(gene_ranks_crl_extra),
  stat = gene_ranks_crl_extra
)
df_mapped <- df_genes %>%
  left_join(
    AnnotationDbi::select(org.Mm.eg.db,
                          keys = df_genes$symbol,
                          columns = c("ENTREZID", "SYMBOL"),
                          keytype = "SYMBOL"),
    by = c("symbol" = "SYMBOL")
  ) %>%
  filter(!is.na(ENTREZID))


geneList_1 <- df_mapped$stat
names(geneList_1) <- df_mapped$ENTREZID
gsea_kegg <- gseKEGG(
  geneList = geneList_1,
  organism = "mmu",
  pvalueCutoff = 0.05
)
head(gsea_kegg)
##                ID                                                 Description
## mmu03010 mmu03010                       Ribosome - Mus musculus (house mouse)
## mmu00190 mmu00190      Oxidative phosphorylation - Mus musculus (house mouse)
## mmu05012 mmu05012              Parkinson disease - Mus musculus (house mouse)
## mmu05020 mmu05020                  Prion disease - Mus musculus (house mouse)
## mmu05171 mmu05171 Coronavirus disease - COVID-19 - Mus musculus (house mouse)
## mmu05016 mmu05016             Huntington disease - Mus musculus (house mouse)
##          setSize enrichmentScore       NES pvalue p.adjust       qvalue rank
## mmu03010     130      -0.7221528 -2.977033  1e-10 3.31e-09 2.652632e-09 2643
## mmu00190     104      -0.6814410 -2.728012  1e-10 3.31e-09 2.652632e-09 2288
## mmu05012     209      -0.5799946 -2.532413  1e-10 3.31e-09 2.652632e-09 2535
## mmu05020     197      -0.5497592 -2.392824  1e-10 3.31e-09 2.652632e-09 2535
## mmu05171     165      -0.5415693 -2.303028  1e-10 3.31e-09 2.652632e-09 2643
## mmu05016     237      -0.5165751 -2.286785  1e-10 3.31e-09 2.652632e-09 2596
##                            leading_edge
## mmu03010 tags=78%, list=23%, signal=61%
## mmu00190 tags=63%, list=20%, signal=52%
## mmu05012 tags=55%, list=22%, signal=44%
## mmu05020 tags=52%, list=22%, signal=41%
## mmu05171 tags=48%, list=23%, signal=38%
## mmu05016 tags=50%, list=22%, signal=40%
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               core_enrichment
## mmu03010                                                                                                       75617/20116/67671/19934/121022/68436/67248/64659/20068/54127/20055/94062/27367/19935/66242/27398/100502825/66481/19982/94063/16898/56282/19943/110954/67945/66163/225215/20005/66258/107732/68735/67941/22186/67994/56040/65019/67681/24030/56284/19941/353242/19951/66489/19933/14109/270106/20115/67281/94064/16785/20088/100503670/67025/20104/27370/66419/67707/67186/66475/66292/267019/67097/67115/68565/19921/66480/78294/68028/20102/20085/20084/68463/54217/26451/27176/19989/27397/19899/19981/20044/68537/268449/66845/20054/76846/20042/27050/19896/67891/67427/68052/68611/76808/20103/11837/94065/269261/22121/26961/20091/19988
## mmu00190                                                                                                                                                                                                                                                                                                                                  11946/66377/66495/54405/140494/28080/68202/66152/11974/66576/11950/74776/11972/66144/67126/17993/67530/27425/22272/12867/108664/11973/69802/72900/57423/11984/11949/67680/66108/78330/69875/11947/12864/17991/22273/225887/66290/66142/11951/73834/66916/66694/230075/66416/228033/67130/67264/68342/75406/68349/20463/12861/110323/66052/12858/66046/71679/104130/66218/68375/68197/67184/66043/17995/12857/226646
## mmu05012                                  22154/16594/26446/74764/66445/57320/26443/11946/16573/66377/22123/232943/66495/54405/14678/28080/68202/66152/19175/106947/66576/22142/19184/12314/56791/11950/16593/67951/67126/17993/19182/69806/67530/19166/67151/22186/22272/12867/68943/23997/72900/11911/50868/17463/30791/26441/11949/67680/22334/22187/59029/66108/26442/22190/23996/78330/69875/11947/12864/17991/22223/22273/14683/225887/19170/66142/66413/11951/19181/67089/66916/66694/22335/230075/66416/228033/67130/78294/67264/22333/68342/64704/75406/19172/68349/20463/12861/56436/12028/110323/20422/66052/12048/26444/12858/19185/14828/66046/56551/71679/104130/13163/11739/66218/68375/68197/67184/66043/17995/22213/12857/57296/12315/226646
## mmu05020                                                                                                           22154/16594/26446/74764/66445/26443/11946/16573/66377/22123/232943/66495/54405/20867/28080/68202/66152/13001/19353/19175/66576/22142/19184/11950/16593/67951/67126/17993/19182/67530/19166/67151/22272/12867/23997/72900/11911/17463/26441/12015/11949/67680/22334/59029/66108/26442/23996/78330/69875/11947/12864/17991/22273/225887/19170/66142/66413/11951/19181/26427/67089/66916/66694/12913/22335/230075/66416/228033/67130/67264/22333/68342/75406/19055/19172/68349/20463/12861/56436/12028/110323/20422/66052/26444/12858/19185/14828/66046/71679/104130/11739/66218/68375/68197/67184/66043/17995/12857/12915/57296/226646/13057
## mmu05171                                                                                                                                                                                                                                    75617/20116/67671/19934/20846/68436/67248/20296/20068/54127/20055/27367/24088/100038882/18035/100502825/66481/19982/16898/19943/110954/67945/225215/20005/67941/22186/56040/65019/19941/19951/66489/19933/14109/270106/54131/20115/67281/16785/20088/100503670/67025/20104/27370/67186/66475/267019/67097/67115/19921/66480/78294/68028/20102/20085/20084/54217/26451/27176/19989/19899/19981/20044/268449/20054/76846/20042/27050/18036/19896/67891/67427/68052/76808/20103/11837/269261/22121/26961/20091/19988
## mmu05016 19167/12064/22154/69590/16594/26446/74764/66445/20907/26443/11946/16573/66377/22123/232943/66495/69654/54405/269881/28080/68202/66152/19175/66576/12370/22142/66491/19184/11950/641340/22428/16593/67951/67126/17993/19182/22030/20656/67530/19166/67151/21780/22272/12867/15182/23997/72900/17463/26441/11949/67680/22334/59029/66108/26442/23996/78330/69875/11947/12864/17991/22273/67710/226977/225887/66420/20021/19170/66142/66413/11951/19181/26427/67089/69833/66916/66694/12913/22335/230075/66416/69920/228033/53598/67130/67264/22333/68342/75406/14775/19172/68349/20463/12861/56436/12028/110323/20422/66052/26444/12858/19185/66046/12757/71679/104130/56444/11739/66218/68375/68197/69241/232910/67184/66043/17995/12857/57296/226646
dotplot(gsea_kegg, showCategory=5, split=".sign") + facet_grid(.~.sign) + theme(axis.text.y = element_text(size = 9))+ labs(title = 'control vs extracellular')

ridgeplot(gsea_kegg, fill = "p.adjust")+ theme_minimal() + labs(title = 'control vs extracellular')
## Picking joint bandwidth of 0.301

Conclusie – Pathwayactivatie in EV-conditie

Aan de hand van de GSEA-analyse (dotplot en ridgeplot) van de vergelijking tussen control en extracellular vesicle (EV) condities, zijn meerdere pathways geïdentificeerd die significant geactiveerd zijn in de EV-conditie. Met name de volgende vier KEGG-pathways vielen op door hun lage p-waarden (p.adjust), hoge genratio’s en duidelijke activatie:

Ribosome – Mus musculus
→ Wijst op verhoogde eiwitsyntheseactiviteit, mogelijk door translatie van mRNA’s afgeleverd door EV’s.

Oxidative phosphorylation – Mus musculus
→ Toename in mitochondriale activiteit en energieproductie, wat zou kunnen duiden op verhoogde metabole behoefte in EV-geactiveerde cellen.

Inositol phosphate metabolism – Mus musculus
→ Betrokken bij intracellulaire signaaloverdracht; activatie kan gerelateerd zijn aan communicatieprocessen tussen cellen via EV’s.

Phosphatidylinositol signaling system – Mus musculus
→ Belangrijk voor celoverleving, groei en signaaltransductie; activatie suggereert mogelijke regulatie van celrespons op EV-inhoud.

De combinatie van deze vier pathways suggereert dat EV’s in staat zijn om translationele, metabole en signaaltransductiemechanismen te activeren in ontvangende cellen. Dit wijst op een actieve rol van EV’s in het moduleren van cellulaire functies.

Om deze bevindingen verder te visualiseren en te valideren, worden deze pathways geselecteerd voor visualisatie met pathview op basis van genexpressieverschillen.

terms <- c(
  "Ribosome - Mus musculus (house mouse)",
  "Oxidative phosphorylation - Mus musculus (house mouse)",
  "Inositol phosphate metabolism - Mus musculus (house mouse)",
  "Phosphatidylinositol signaling system - Mus musculus (house mouse)"
)

gsea_kegg@result[gsea_kegg@result$Description %in% terms, ]
##                ID
## mmu03010 mmu03010
## mmu00190 mmu00190
## mmu04070 mmu04070
## mmu00562 mmu00562
##                                                                 Description
## mmu03010                              Ribosome - Mus musculus (house mouse)
## mmu00190             Oxidative phosphorylation - Mus musculus (house mouse)
## mmu04070 Phosphatidylinositol signaling system - Mus musculus (house mouse)
## mmu00562         Inositol phosphate metabolism - Mus musculus (house mouse)
##          setSize enrichmentScore       NES       pvalue     p.adjust
## mmu03010     130      -0.7221528 -2.977033 1.000000e-10 3.310000e-09
## mmu00190     104      -0.6814410 -2.728012 1.000000e-10 3.310000e-09
## mmu04070      80       0.4561205  1.975548 3.214553e-05 5.911206e-04
## mmu00562      58       0.4499627  1.828163 5.234797e-04 6.664299e-03
##                qvalue rank                   leading_edge
## mmu03010 2.652632e-09 2643 tags=78%, list=23%, signal=61%
## mmu00190 2.652632e-09 2288 tags=63%, list=20%, signal=52%
## mmu04070 4.737237e-04 3015 tags=52%, list=26%, signal=39%
## mmu00562 5.340764e-03 3680 tags=62%, list=31%, signal=43%
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         core_enrichment
## mmu03010 75617/20116/67671/19934/121022/68436/67248/64659/20068/54127/20055/94062/27367/19935/66242/27398/100502825/66481/19982/94063/16898/56282/19943/110954/67945/66163/225215/20005/66258/107732/68735/67941/22186/67994/56040/65019/67681/24030/56284/19941/353242/19951/66489/19933/14109/270106/20115/67281/94064/16785/20088/100503670/67025/20104/27370/66419/67707/67186/66475/66292/267019/67097/67115/68565/19921/66480/78294/68028/20102/20085/20084/68463/54217/26451/27176/19989/27397/19899/19981/20044/68537/268449/66845/20054/76846/20042/27050/19896/67891/67427/68052/68611/76808/20103/11837/94065/269261/22121/26961/20091/19988
## mmu00190                                                                                                                                                                                                                            11946/66377/66495/54405/140494/28080/68202/66152/11974/66576/11950/74776/11972/66144/67126/17993/67530/27425/22272/12867/108664/11973/69802/72900/57423/11984/11949/67680/66108/78330/69875/11947/12864/17991/22273/225887/66290/66142/11951/73834/66916/66694/230075/66416/228033/67130/67264/68342/75406/68349/20463/12861/110323/66052/12858/66046/71679/104130/66218/68375/68197/67184/66043/17995/12857/226646
## mmu04070                                                                                                                                                                                                                                                                                                                                                                    53332/242291/107650/18750/320404/16440/380921/18798/224020/110524/16438/320634/18704/18711/104015/17772/69718/18718/219135/83493/327655/18708/227399/18752/170749/269180/97287/110911/74302/16330/108083/101490/18717/56077/19211/18795/18803/72519/16439/18797/13139/77116
## mmu00562                                                                                                                                                                                                                                                                                                                                                                                                          53332/103199/107650/320404/18798/224020/320634/104776/18704/18711/104015/17772/69718/18718/219135/83493/170749/269180/97287/19062/74302/16330/108083/101490/18717/19211/18795/18803/18797/77116/18706/20975/117150/67073/16332/114663
setwd("imgs_trans/control_vs_extracellular")
# KEGG: Oxidative phosphorylation (mmu00190)
pathview(
  gene.data = geneList_1,
  pathway.id = "mmu00190",
  species = "mmu",
  kegg.native = TRUE,
  out.suffix = "oxphos"
)

# KEGG: Purine metabolism (mmu00562)
pathview(
  gene.data = geneList_1,
  pathway.id = "mmu00562",
  species = "mmu",
  kegg.native = TRUE,
  out.suffix = "metabolism"
)

# KEGG: Ribosome (mmu03010)
pathview(
  gene.data = geneList_1,
  pathway.id = "mmu03010",
  species = "mmu",
  kegg.native = TRUE,
  out.suffix = "translation"
)

# KEGG: signaling (mmu03010)
pathview(
  gene.data = geneList_1,
  pathway.id = "mmu04070",
  species = "mmu",
  kegg.native = TRUE,
  out.suffix = "signaling"
)

Oxidative phosphorylation 1. Oxidative Phosphorylation (mmu00190) De meeste genen in dit mitochondriale energieproductiepad zijn sterk opgereguleerd (groen), vooral binnen complex I (NADH-dehydrogenase), complex III (cytochroom bc1), complex IV (cytochroom c oxidase) en complex V (ATP-synthase). Dit duidt op verhoogde oxidatieve fosforylatie-activiteit, wat wijst op verhoogde energiebehoefte of -productie als reactie op EV-behandeling

Purine metabolism
Purine metabolism
  1. Inositol Phosphate Metabolism (mmu00562) Deze afbeelding toont een gemengd beeld van genregulatie: meerdere enzymen zijn opgereguleerd (zoals 2.7.8.11, 3.1.3.62), terwijl anderen sterk onderdrukt zijn (zoals 3.1.3.56, 3.1.3.66). Dit suggereert actieve herprogrammering van signaaltransductie via inositolfosfaatroutes, mogelijk als reactie op EV-afgeleide signalen.
Ribosome
Ribosome
  1. Ribosome (mmu03010) De visualisatie laat een alomtegenwoordige opregulatie zien van genen die coderen voor ribosomale eiwitten in zowel de kleine als grote subeenheid (vrijwel alles is groen). Dit wijst op een duidelijke stimulatie van eiwitsynthese, waarschijnlijk om cellen voor te bereiden op verhoogde translatie-activiteit door de invloed van EV’s.
Oxidative phosphorylation
Oxidative phosphorylation
  1. Phosphatidylinositol Signaling System (mmu04070) Deze pathway toont een complex regulatiepatroon: enkele sleutelenzymen zoals 2.7.8.11 en CALM zijn geactiveerd, terwijl veel PI3K-gerelateerde enzymen (zoals PIK3C2, PLC, PTEN) onderdrukt zijn. Dit suggereert gerichte modulatie van intracellulaire signaalroutes, met een mogelijke verschuiving in balans tussen activatie en remming van het PI3K-Akt pad. EV’s kunnen zo fijnmazig signaaltransductie beïnvloeden.
df_genes_2 <- data.frame(
  symbol = names(gene_ranks_crl_sol),
  stat = gene_ranks_crl_sol
)
df_mapped_2 <- df_genes_2 %>%
  left_join(
    AnnotationDbi::select(org.Mm.eg.db,
                          keys = df_genes_2$symbol,
                          columns = c("ENTREZID", "SYMBOL"),
                          keytype = "SYMBOL"),
    by = c("symbol" = "SYMBOL")
  ) %>%
  filter(!is.na(ENTREZID))


sol_gen <- df_mapped_2$stat
names(sol_gen) <- df_mapped_2$ENTREZID
gsea_kegg_2 <- gseKEGG(
  geneList = sol_gen,
  organism = "mmu",
  pvalueCutoff = 0.05,
  seed= 1
)
## preparing geneSet collections...
## GSEA analysis...
## Warning in preparePathwaysAndStats(pathways, stats, minSize, maxSize, gseaParam, : There are ties in the preranked stats (0.01% of the list).
## The order of those tied genes will be arbitrary, which may produce unexpected results.
## leading edge analysis...
## done...
head(gsea_kegg_2)
##                ID                                          Description setSize
## mmu04657 mmu04657 IL-17 signaling pathway - Mus musculus (house mouse)      61
##          enrichmentScore       NES       pvalue   p.adjust    qvalue rank
## mmu04657      -0.5257455 -1.928895 0.0001482211 0.04906118 0.0449344 2031
##                            leading_edge
## mmu04657 tags=38%, list=17%, signal=31%
##                                                                                                                                       core_enrichment
## mmu04657 20306/26419/17386/20296/12370/71609/59008/68652/14082/22030/22031/56480/12675/18033/14825/19225/103213/239114/56489/20297/330122/20311/16819
dotplot(gsea_kegg_2, showCategory=5, split=".sign") + facet_grid(.~.sign) + theme(axis.text.y = element_text(size = 9))+ labs(title = 'Control vs soluble')

ridgeplot(gsea_kegg_2, showCategory = 10, fill = "p.adjust")+ theme_minimal()+ labs(title = 'Control vs soluble')
## Picking joint bandwidth of 0.145

Conclusie – Pathwaysuppressie in SF-conditie

Aan de hand van de GSEA-analyse (dotplot en ridgeplot) van de vergelijking tussen control en soluble factors (SF’s), zijn twee KEGG-pathways geïdentificeerd die significant onderdrukt zijn in de SF-conditie. Deze pathways vielen op door hun lage p-waarden (p.adjust), consistente negatieve genexpressie en duidelijke suppressie:

Chemokine signaling pathway – Mus musculus

→ Onderdrukking van genen die betrokken zijn bij immuuncelactivatie en -migratie, wijzend op een remming van ontstekingsprocessen.
IL-17 signaling pathway – Mus musculus

→ IL-17 is cruciaal voor pro-inflammatoire signalering; de sterke onderdrukking van deze route suggereert dat SF’s ontstekingsreacties actief temperen.

De gelijktijdige onderdrukking van deze twee immuun-gerelateerde pathways wijst erop dat SF’s mogelijk een immunosuppressieve werking uitoefenen op          ontvangende cellen. Dit zou kunnen bijdragen aan een verminderde immuunactivatie of ontstekingsremming.

Om deze bevindingen verder te verkennen en visueel inzicht te krijgen in welke genen binnen deze pathways onderdrukt zijn, worden deze twee routes geselecteerd voor visualisatie met pathview op basis van differentiële genexpressie.

terms <- c(
  "Chemokine signaling pathway - Mus musculus (house mouse)",
  "IL-17 signaling pathway - Mus musculus (house mouse)"
)
gsea_kegg_2@result[gsea_kegg_2@result$Description %in% terms, ]
##                ID                                          Description setSize
## mmu04657 mmu04657 IL-17 signaling pathway - Mus musculus (house mouse)      61
##          enrichmentScore       NES       pvalue   p.adjust    qvalue rank
## mmu04657      -0.5257455 -1.928895 0.0001482211 0.04906118 0.0449344 2031
##                            leading_edge
## mmu04657 tags=38%, list=17%, signal=31%
##                                                                                                                                       core_enrichment
## mmu04657 20306/26419/17386/20296/12370/71609/59008/68652/14082/22030/22031/56480/12675/18033/14825/19225/103213/239114/56489/20297/330122/20311/16819
setwd("imgs_trans/control_vs_soluble")
#IL-17 signaling pathway
pathview(
  gene.data = gsea_kegg_2,
  pathway.id = "mmu04657",
  species = "mmu",
  out.suffix = "IL-17"
)
#Chemokine signaling pathway
pathview(
  gene.data = gsea_kegg_2,
  pathway.id = "mmu04062",
  species = "mmu",
  out.suffix = "Chemokine"
)

IL-17 signaling pathway IL-17 signaling pathway

Deze pathway laat zien hoe binding van verschillende IL-17-cytokines leidt tot activatie van downstream signaalroutes, waaronder NF-κB, MAPK en C/EBP. Hierdoor ontstaat een sterke transcriptie van ontstekingsbevorderende genen zoals IL-6, TNF-α en diverse chemokinen. Daarnaast wordt ook de expressie van antimicrobiële eiwitten en matrixmetallo-proteïnasen gestimuleerd, wat duidt op betrokkenheid bij afweer en weefselremodellering. De pathway is dus sterk gericht op het reguleren van ontsteking, immuunactivatie en celrespons op infectie of schade.

Chemokine signaling pathway Chemokine signaling pathway

In deze pathway activeert chemokine-receptorbinding meerdere intracellulaire routes zoals PI3K/Akt, MAPK en Rho-GTPase-activiteiten. Deze signalen leiden tot celoverleving, cytokineproductie, actineherstructurering en migratie van immuuncellen. Verder speelt deze pathway een rol bij de regulatie van leukocytenmigratie via het endotheel, ROS-productie en apoptose. De pathway ondersteunt daarmee een brede afstemming van immuuncelgedrag tijdens ontstekingsreacties en immuunresponsen.

df_genes_3 <- data.frame(
  symbol = names(gene_ranks_extra_sol),
  stat = gene_ranks_extra_sol
)
df_mapped_3 <- df_genes_3 %>%
  left_join(
    AnnotationDbi::select(org.Mm.eg.db,
                          keys = df_genes_3$symbol,
                          columns = c("ENTREZID", "SYMBOL"),
                          keytype = "SYMBOL"),
    by = c("symbol" = "SYMBOL")
  ) %>%
  filter(!is.na(ENTREZID))
## 'select()' returned 1:many mapping between keys and columns
geneList_3 <- df_mapped_3$stat
names(geneList_3) <- df_mapped_3$ENTREZID
gsea_kegg_3 <- gseKEGG(
  geneList = geneList_3,
  organism = "mmu",
  pvalueCutoff = 0.05
)
dotplot(gsea_kegg_3, showCategory=5, split=".sign") + facet_grid(.~.sign) + theme(axis.text.y = element_text(size = 9)) + labs(title = 'Extracellular vs soluble')

ridgeplot(gsea_kegg_3, showCategory = 10, fill = "p.adjust")+ theme_minimal()+ theme(axis.text.y = element_text(size = 9))+ labs(title = 'Extracellular vs soluble')
## Picking joint bandwidth of 0.255

Conclusie – Pathwayactivatie in EV t.o.v. SF-conditie

Aan de hand van de GSEA-analyse (dotplot en ridgeplot) van de vergelijking tussen extracellular vesicles (EV’s) en soluble factors (SF’s), zijn meerdere pathways geïdentificeerd die significant geactiveerd zijn in de EV-conditie. De volgende vier KEGG-pathways vallen op door hun lage p.adjust-waarden, hoge genratio’s en uitgesproken activatie:

Ribosome – Mus musculus

→ Sterke activatie van ribosomale genen wijst op verhoogde eiwitsynthesecapaciteit in EV-behandelde cellen.
Oxidative phosphorylation – Mus musculus

→ Verhoogde mitochondriale activiteit en energieproductie; suggereert een toegenomen metabole vraag onder invloed van EV’s.
Inositol phosphate metabolism – Mus musculus

→ Betrokken bij signaaltransductie; activatie impliceert versterkte intracellulaire communicatieprocessen.
Phosphatidylinositol signaling system – Mus musculus

→ Belangrijk voor celgroei, overleving en PI3K/Akt-pathway-regulatie; activatie suggereert versterking van overlevings- en groeisignalen.

De gelijktijdige activatie van deze pathways laat zien dat EV’s een krachtiger effect uitoefenen op fundamentele cellulaire processen dan SF’s. Ze stimuleren translatie, energieproductie en signaalroutes die cruciaal zijn voor celactivatie en functie.

Om deze bevindingen visueel te onderbouwen worden deze vier pathways geselecteerd voor Pathview-visualisatie op basis van differentiële genexpressie tussen EV- en SF-condities.

terms_best <- c(
  "Ribosome - Mus musculus (house mouse)",
  "Oxidative phosphorylation - Mus musculus (house mouse)",
  "Inositol phosphate metabolism - Mus musculus (house mouse)",
  "Phosphatidylinositol signaling system - Mus musculus (house mouse)"
)
gsea_kegg_3@result[gsea_kegg_3@result$Description %in% terms_best, ]
##                ID
## mmu03010 mmu03010
## mmu00190 mmu00190
## mmu04070 mmu04070
## mmu00562 mmu00562
##                                                                 Description
## mmu03010                              Ribosome - Mus musculus (house mouse)
## mmu00190             Oxidative phosphorylation - Mus musculus (house mouse)
## mmu04070 Phosphatidylinositol signaling system - Mus musculus (house mouse)
## mmu00562         Inositol phosphate metabolism - Mus musculus (house mouse)
##          setSize enrichmentScore       NES       pvalue     p.adjust
## mmu03010     130       0.7411469  3.081845 1.000000e-10 2.546154e-09
## mmu00190     104       0.6982908  2.820457 1.000000e-10 2.546154e-09
## mmu04070      80      -0.4819740 -2.033392 7.883228e-06 1.373341e-04
## mmu00562      58      -0.4790070 -1.905681 3.237648e-04 4.871188e-03
##                qvalue rank                   leading_edge
## mmu03010 1.862348e-09 2105 tags=75%, list=18%, signal=63%
## mmu00190 1.862348e-09 1833 tags=61%, list=16%, signal=52%
## mmu04070 1.004511e-04 3354 tags=56%, list=29%, signal=40%
## mmu00562 3.562962e-03 3293 tags=59%, list=28%, signal=42%
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    core_enrichment
## mmu03010 19988/20091/26961/20103/27397/67427/68052/27050/19981/67891/20054/19989/20042/269261/94065/76846/11837/19896/76808/22121/68537/20044/268449/19899/68463/68611/27398/78294/68028/94064/66419/20085/67707/20102/27176/26451/68565/66480/20104/66845/94063/66258/16785/19921/20088/67025/54217/67941/67115/121022/19933/66475/20084/66292/267019/67281/20115/66489/19951/67186/19941/107732/67945/100503670/56282/67681/118451/68735/56040/225215/27370/65019/20055/110954/94062/67097/270106/20005/353242/22186/14109/67994/19935/20068/19943/20116/24030/56284/67671/16898/67248/66481/68436/19982/94066/75617/66223/27367
## mmu00190                                                                                                                                                                                                                         17995/226646/66052/66043/67184/75406/68349/66046/110323/12857/68375/71679/104130/66218/68197/66916/12861/20463/68342/11951/73834/66694/11949/12858/22273/12867/225887/67680/67264/67530/12864/67126/27425/57423/17991/228033/69875/108664/11947/66108/66416/66142/66290/66152/66576/230075/72900/74776/22272/11973/68202/17992/67130/66945/11984/17993/11950/11946/66925/54405/11972/66495/114143
## mmu04070                                                                                                                                                                                                                                                                                                                            16439/18706/67073/18751/19211/16330/320404/101490/16329/74302/234515/18717/18720/18797/56077/69718/17772/110911/20975/18708/227399/320634/16332/18718/83493/18704/219135/18711/16438/18803/242291/170749/53332/108083/327655/380921/104015/269180/18752/110524/224020/16440/18750/18798/107650
## mmu00562                                                                                                                                                                                                                                                                                                                                                                                                  18706/67073/19211/16330/320404/101490/16329/103199/74302/234515/18717/18720/18797/69718/17772/20975/104776/320634/16332/18718/83493/18704/219135/18711/18803/170749/53332/108083/104015/269180/19062/224020/18798/107650
setwd("imgs_trans/extracellular_vs_soluble")

# Ribosome / cytoplasmic translation
pathview(
  gene.data = geneList_3,
  pathway.id = "mmu03010",
  species = "mmu",
  out.suffix = "ribosome"
)
## 'select()' returned 1:1 mapping between keys and columns
## Info: Working in directory /homes/jjonker2/Documents/Omics/omic_epithelial_cell_repair/Logfiles/imgs_trans/extracellular_vs_soluble
## Info: Writing image file mmu03010.ribosome.png
#Phosphatidylinositol signaling system
pathview(
  gene.data = geneList_3,
  pathway.id = "mmu04070",
  species = "mmu",
  out.suffix = "mito_translation"
)
## 'select()' returned 1:1 mapping between keys and columns
## Info: Working in directory /homes/jjonker2/Documents/Omics/omic_epithelial_cell_repair/Logfiles/imgs_trans/extracellular_vs_soluble
## Info: Writing image file mmu04070.mito_translation.png
# Oxidative phosphorylation
pathview(
  gene.data = geneList_3,
  pathway.id = "mmu00190",
  species = "mmu",
  out.suffix = "Phosphatidylinositol"
)
## 'select()' returned 1:1 mapping between keys and columns
## Info: Working in directory /homes/jjonker2/Documents/Omics/omic_epithelial_cell_repair/Logfiles/imgs_trans/extracellular_vs_soluble
## Info: Writing image file mmu00190.Phosphatidylinositol.png
# Inositol phosphate metabolism
pathview(
  gene.data = geneList_3,
  pathway.id = "mmu00562",
  species = "mmu",
  out.suffix = "metabolism"
)
## 'select()' returned 1:1 mapping between keys and columns
## Info: Working in directory /homes/jjonker2/Documents/Omics/omic_epithelial_cell_repair/Logfiles/imgs_trans/extracellular_vs_soluble
## Info: Writing image file mmu00562.metabolism.png

Oxidative phosphorylation Ribosome pathway

In deze pathway is te zien dat vrijwel alle ribosomale eiwitgenen zijn opgereguleerd in de EV-conditie ten opzichte van SF. Zowel de grote als kleine ribosoomsubeenheid laat sterke activatie zien. Dit wijst op een verhoogde eiwitsyntheseactiviteit, mogelijk doordat EV’s translationele processen stimuleren.

Oxidative phosphorylation Phosphatidylinositol signaling system

De visualisatie toont brede activatie van genen betrokken bij PI3K/Akt-signalen, PLC-activatie en fosfatidylinositolomzettingen. Dit patroon wijst op versterkte intracellulaire signaaltransductie, celoverleving en groeisignalen die door EV’s op gang kunnen zijn gebracht.

Oxidative phosphorylation Oxidative phosphorylation

De figuur laat duidelijke activatie zien van mitochondriale genen verspreid over complex I tot en met complex V. Deze upregulatie van oxidatieve fosforylering wijst op verhoogde ATP-productie en een grotere energiebehoefte in cellen die zijn blootgesteld aan EV’s.

Oxidative phosphorylation
Oxidative phosphorylation

Inositol phosphate metabolism

In deze pathway zijn meerdere enzymen actief betrokken bij de afbraak en omzetting van inositolfosfaten zichtbaar geactiveerd. Dit suggereert versterkte signaaloverdracht via second messengers, mogelijk als gevolg van EV-gerelateerde stimulatie van celinterne communicatie.

Muis

df_genes_mens <- data.frame(
  symbol = names(gene_ranks_crl_extra),
  stat = gene_ranks_crl_extra
)
df_mapped_mens <- df_genes %>%
  left_join(
    AnnotationDbi::select(org.Hs.eg.db,
                          keys = df_genes$symbol,
                          columns = c("ENTREZID", "SYMBOL"),
                          keytype = "SYMBOL"),
    by = c("symbol" = "SYMBOL")
  ) %>%
  filter(!is.na(ENTREZID))


geneList_Mens <- df_mapped_mens$stat
names(geneList_Mens) <- df_mapped_mens$ENTREZID

Coronavirus

term <- c(
  "Coronavirus disease - COVID-19 - Mus musculus (house mouse)")
gsea_kegg@result[gsea_kegg@result$Description %in% term, ]
##                ID                                                 Description
## mmu05171 mmu05171 Coronavirus disease - COVID-19 - Mus musculus (house mouse)
##          setSize enrichmentScore       NES pvalue p.adjust       qvalue rank
## mmu05171     165      -0.5415693 -2.303028  1e-10 3.31e-09 2.652632e-09 2643
##                            leading_edge
## mmu05171 tags=48%, list=23%, signal=38%
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            core_enrichment
## mmu05171 75617/20116/67671/19934/20846/68436/67248/20296/20068/54127/20055/27367/24088/100038882/18035/100502825/66481/19982/16898/19943/110954/67945/225215/20005/67941/22186/56040/65019/19941/19951/66489/19933/14109/270106/54131/20115/67281/16785/20088/100503670/67025/20104/27370/67186/66475/267019/67097/67115/19921/66480/78294/68028/20102/20085/20084/54217/26451/27176/19989/19899/19981/20044/268449/20054/76846/20042/27050/18036/19896/67891/67427/68052/76808/20103/11837/269261/22121/26961/20091/19988
setwd("imgs_trans/corona")
pathview(
  gene.data = geneList_1,
  pathway.id = "mmu05171",
  species = "mmu",
  out.suffix = "Corno_1"
)
## 'select()' returned 1:1 mapping between keys and columns
## Info: Working in directory /homes/jjonker2/Documents/Omics/omic_epithelial_cell_repair/Logfiles/imgs_trans/corona
## Info: Writing image file mmu05171.Corno_1.png
pathview(
  gene.data = sol_gen,
  pathway.id = "mmu05171",
  species = "mmu",
  out.suffix = "Corno_2"
)
## 'select()' returned 1:1 mapping between keys and columns
## Info: Working in directory /homes/jjonker2/Documents/Omics/omic_epithelial_cell_repair/Logfiles/imgs_trans/corona
## Info: Writing image file mmu05171.Corno_2.png
pathview(
  gene.data = geneList_3,
  pathway.id = "mmu05171",
  species = "mmu",
  out.suffix = "Corno_3"
)
## 'select()' returned 1:1 mapping between keys and columns
## Info: Working in directory /homes/jjonker2/Documents/Omics/omic_epithelial_cell_repair/Logfiles/imgs_trans/corona
## Info: Writing image file mmu05171.Corno_3.png

Corona in crt vs evs Corona in crt vs sfs

Corona in sfs vs evs
Corona in sfs vs evs